package com.chenyi.shop.service;

import java.util.List;
import java.util.Set;

import com.chenyi.common.core.domain.entity.SysAdminRole;
import com.chenyi.shop.domain.SysShopRole;

/**
 * 商户角色信息Service接口
 * 
 * @author chenyi
 * @date 2020-10-24
 */
public interface ISysShopRoleService 
{
    /**
     * 查询商户角色信息
     * 
     * @param roleId 商户角色信息ID
     * @return 商户角色信息
     */
    public SysShopRole selectSysShopRoleById(Long roleId);

    /**
     * 查询商户角色信息列表
     * 
     * @param sysShopRole 商户角色信息
     * @return 商户角色信息集合
     */
    public List<SysShopRole> selectSysShopRoleList(SysShopRole sysShopRole);

    /**
     * 新增商户角色信息
     * 
     * @param sysShopRole 商户角色信息
     * @return 结果
     */
    public int insertSysShopRole(SysShopRole sysShopRole);

    /**
     * 修改商户角色信息
     * 
     * @param sysShopRole 商户角色信息
     * @return 结果
     */
    public int updateSysShopRole(SysShopRole sysShopRole);

    /**
     * 批量删除商户角色信息
     * 
     * @param roleIds 需要删除的商户角色信息ID
     * @return 结果
     */
    public int deleteSysShopRoleByIds(Long[] roleIds);

    /**
     * 删除商户角色信息信息
     * 
     * @param roleId 商户角色信息ID
     * @return 结果
     */
    public int deleteSysShopRoleById(Long roleId);
    /**
     * 根据用户ID查询角色
     *
     * @param shopId 用户ID
     * @return 权限列表
     */
    Set<String> selectShopRolePermissionByShopId(Long shopId);
    /**
     * 查询所有角色
     *
     * @return 角色列表
     */
    List<SysShopRole> selectShopRoleAll();
}
